package com.example.victory.swagger.model;

import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
import org.springframework.validation.annotation.Validated;
import javax.validation.Valid;

/**
 * 返回对象
 */
@ApiModel(description = "返回对象")
@Validated
@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2021-04-26T10:50:39.083+08:00")

public class NewOpenCustomerResp   {
  @JsonProperty("id")
  private String id = null;

  @JsonProperty("name")
  private String name = null;

  @JsonProperty("customerId")
  private String customerId = null;

  @JsonProperty("phone")
  private String phone = null;

  @JsonProperty("relationType")
  private String relationType = null;

  @JsonProperty("imId")
  private String imId = null;

  @JsonProperty("isIncome")
  private String isIncome = null;

  @JsonProperty("isTrade")
  private String isTrade = null;

  @JsonProperty("isStore")
  private String isStore = null;

  @JsonProperty("riskLevel")
  private String riskLevel = null;

  @JsonProperty("customerLevel")
  private String customerLevel = null;

  @JsonProperty("nameValue")
  @Valid
  private List<CustomerRespNameValue> nameValue = null;

  public NewOpenCustomerResp id(String id) {
    this.id = id;
    return this;
  }

  /**
   * 唯一序号id，分页查询时使用
   * @return id
  **/
  @ApiModelProperty(value = "唯一序号id，分页查询时使用")


  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public NewOpenCustomerResp name(String name) {
    this.name = name;
    return this;
  }

  /**
   * 姓名
   * @return name
  **/
  @ApiModelProperty(value = "姓名")


  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public NewOpenCustomerResp customerId(String customerId) {
    this.customerId = customerId;
    return this;
  }

  /**
   * 客户号
   * @return customerId
  **/
  @ApiModelProperty(value = "客户号")


  public String getCustomerId() {
    return customerId;
  }

  public void setCustomerId(String customerId) {
    this.customerId = customerId;
  }

  public NewOpenCustomerResp phone(String phone) {
    this.phone = phone;
    return this;
  }

  /**
   * 客户号的手机号
   * @return phone
  **/
  @ApiModelProperty(value = "客户号的手机号")


  public String getPhone() {
    return phone;
  }

  public void setPhone(String phone) {
    this.phone = phone;
  }

  public NewOpenCustomerResp relationType(String relationType) {
    this.relationType = relationType;
    return this;
  }

  /**
   * 客户关系；1-服务关系;2-签约关系;10-开发关系
   * @return relationType
  **/
  @ApiModelProperty(value = "客户关系；1-服务关系;2-签约关系;10-开发关系")


  public String getRelationType() {
    return relationType;
  }

  public void setRelationType(String relationType) {
    this.relationType = relationType;
  }

  public NewOpenCustomerResp imId(String imId) {
    this.imId = imId;
    return this;
  }

  /**
   * imId
   * @return imId
  **/
  @ApiModelProperty(value = "imId")


  public String getImId() {
    return imId;
  }

  public void setImId(String imId) {
    this.imId = imId;
  }

  public NewOpenCustomerResp isIncome(String isIncome) {
    this.isIncome = isIncome;
    return this;
  }

  /**
   * 是否入金；1:已入金；0:未入金
   * @return isIncome
  **/
  @ApiModelProperty(value = "是否入金；1:已入金；0:未入金")


  public String getIsIncome() {
    return isIncome;
  }

  public void setIsIncome(String isIncome) {
    this.isIncome = isIncome;
  }

  public NewOpenCustomerResp isTrade(String isTrade) {
    this.isTrade = isTrade;
    return this;
  }

  /**
   * 是否交易；1:交易；0:未交易
   * @return isTrade
  **/
  @ApiModelProperty(value = "是否交易；1:交易；0:未交易")


  public String getIsTrade() {
    return isTrade;
  }

  public void setIsTrade(String isTrade) {
    this.isTrade = isTrade;
  }

  public NewOpenCustomerResp isStore(String isStore) {
    this.isStore = isStore;
    return this;
  }

  /**
   * 服务状态；1-已服务;0-未服务
   * @return isStore
  **/
  @ApiModelProperty(value = "服务状态；1-已服务;0-未服务")


  public String getIsStore() {
    return isStore;
  }

  public void setIsStore(String isStore) {
    this.isStore = isStore;
  }

  public NewOpenCustomerResp riskLevel(String riskLevel) {
    this.riskLevel = riskLevel;
    return this;
  }

  /**
   * 风险等级；0 保守型(最低); 1-保守型;2-谨慎型;3-稳健型;4-积极型;5-激进型   (可能没有等级)
   * @return riskLevel
  **/
  @ApiModelProperty(value = "风险等级；0 保守型(最低); 1-保守型;2-谨慎型;3-稳健型;4-积极型;5-激进型   (可能没有等级)")


  public String getRiskLevel() {
    return riskLevel;
  }

  public void setRiskLevel(String riskLevel) {
    this.riskLevel = riskLevel;
  }

  public NewOpenCustomerResp customerLevel(String customerLevel) {
    this.customerLevel = customerLevel;
    return this;
  }

  /**
   * 客户等级;1 一级;2 二级;3 三级;4 四级;5 五级
   * @return customerLevel
  **/
  @ApiModelProperty(value = "客户等级;1 一级;2 二级;3 三级;4 四级;5 五级")


  public String getCustomerLevel() {
    return customerLevel;
  }

  public void setCustomerLevel(String customerLevel) {
    this.customerLevel = customerLevel;
  }

  public NewOpenCustomerResp nameValue(List<CustomerRespNameValue> nameValue) {
    this.nameValue = nameValue;
    return this;
  }

  public NewOpenCustomerResp addNameValueItem(CustomerRespNameValue nameValueItem) {
    if (this.nameValue == null) {
      this.nameValue = new ArrayList<CustomerRespNameValue>();
    }
    this.nameValue.add(nameValueItem);
    return this;
  }

  /**
   * key和value
   * @return nameValue
  **/
  @ApiModelProperty(value = "key和value")

  @Valid

  public List<CustomerRespNameValue> getNameValue() {
    return nameValue;
  }

  public void setNameValue(List<CustomerRespNameValue> nameValue) {
    this.nameValue = nameValue;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    NewOpenCustomerResp newOpenCustomerResp = (NewOpenCustomerResp) o;
    return Objects.equals(this.id, newOpenCustomerResp.id) &&
        Objects.equals(this.name, newOpenCustomerResp.name) &&
        Objects.equals(this.customerId, newOpenCustomerResp.customerId) &&
        Objects.equals(this.phone, newOpenCustomerResp.phone) &&
        Objects.equals(this.relationType, newOpenCustomerResp.relationType) &&
        Objects.equals(this.imId, newOpenCustomerResp.imId) &&
        Objects.equals(this.isIncome, newOpenCustomerResp.isIncome) &&
        Objects.equals(this.isTrade, newOpenCustomerResp.isTrade) &&
        Objects.equals(this.isStore, newOpenCustomerResp.isStore) &&
        Objects.equals(this.riskLevel, newOpenCustomerResp.riskLevel) &&
        Objects.equals(this.customerLevel, newOpenCustomerResp.customerLevel) &&
        Objects.equals(this.nameValue, newOpenCustomerResp.nameValue);
  }

  @Override
  public int hashCode() {
    return Objects.hash(id, name, customerId, phone, relationType, imId, isIncome, isTrade, isStore, riskLevel, customerLevel, nameValue);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class NewOpenCustomerResp {\n");
    
    sb.append("    id: ").append(toIndentedString(id)).append("\n");
    sb.append("    name: ").append(toIndentedString(name)).append("\n");
    sb.append("    customerId: ").append(toIndentedString(customerId)).append("\n");
    sb.append("    phone: ").append(toIndentedString(phone)).append("\n");
    sb.append("    relationType: ").append(toIndentedString(relationType)).append("\n");
    sb.append("    imId: ").append(toIndentedString(imId)).append("\n");
    sb.append("    isIncome: ").append(toIndentedString(isIncome)).append("\n");
    sb.append("    isTrade: ").append(toIndentedString(isTrade)).append("\n");
    sb.append("    isStore: ").append(toIndentedString(isStore)).append("\n");
    sb.append("    riskLevel: ").append(toIndentedString(riskLevel)).append("\n");
    sb.append("    customerLevel: ").append(toIndentedString(customerLevel)).append("\n");
    sb.append("    nameValue: ").append(toIndentedString(nameValue)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

